
from META import all_contents_df, USER_SETTINGS, model_config, llm_apis, model, llm_histories, local_llm, local_llm_tz, model_config
from layout_parser import parse_outline_hier, outline_to_markdown
from utlis import gen_str_codes, use_llm_api
from QA_moduled import checkerboard_answer, checkerboard_find, checkerboard_filling_tb


def table_fill(json_input, llm_histories, info=None, save_session=False): # set info for testing only
    res_json = {}
    try:
        for key in json_input['search_keys']:
            # res_search = checkerboard_find(key, json_input['topk'], data_type=1) # 如果知识库里有记录使用这条 如果没有可以先注释掉 直接用上手工写的info 知识库注入很简单 只需要把 word待填充文件_... 传进去即可
            # info = checkerboard_answer(save_session, key, res_search['sim_contents'], gen_doc=False, act_marker='输出', llm_histories=llm_histories, api_name=api_name, isModel=False, llm_input_limit=3000)
            val = checkerboard_filling_tb(key, info['reply'], llm_histories=llm_histories, api_name=json_input['api_name'], model=json_input['model'])
            res_json.update({key:val})
        
        print(res_json)
        res_json.update({'code':200})
    except Exception as e:
        res_json = {
            'exception':e,
            'issuccess':'failure'
        }
    return res_json


if __name__ == "__main__":
    info = {
        'reply':
        '''
            姓 名	陈娜	工作单位	阿里巴巴集团	一寸免冠
            彩色近照
            职 务	部长	职 称	副研究员	
            毕业院校
            及专业	复旦大学计算机科学与技术专业	学 位	硕士	
            手机号码	18689548101	身份证号码	310101199909212548	
            通讯地址	北京市济南市长江路111号恒大名都17栋5单元466室	电子邮箱	chen535@163.com
            主要研究领域	一、软科学类：
            （一）☑数字政府（☐政务服务 ☐政府治理 ☐规划设计 ☑公共数据治理 ☐绩效评估和项目管理）
            （二）☐数字经济（☐平台经济 ☐低空经济 ☐数据要素产业 ☐产业数字化转型）
            （三）☐数字社会（☐智慧城市 ☐数字乡村 ☐公共服务 ☐社会治理 ☐数字生活）
            （四）☐法律法规
            其他：其他的示例值
            二、技术类：
            （一）☑应用技术（☑人工智能 ☐数字孪生 ☐大数据 ☐系统开发）
            （二）☐基础设施（☐云计算 ☐通信网络 ☐物联网☐算力网 ☐量子计算）
            （三）☑网络安全（☐安全防护技术 ☐数字身份 ☑区块链 ☑可信计算）
            其他：其他的示例值
            近5年主要成果及获奖情况	1. 出版专著1部，主持国家自然科学基金项目2项
        '''
    }

    json_input = {
        'search_keys':['姓名','工作单位','职务','职称','毕业院校及专业','学位','手机号码','身份证号码','通讯地址','电子邮箱','主要研究领域','近5年主要成果及获奖情况'], # 你传给我的List 最好构造一个json传输 可以方便后面加上各种meta info
        'api_name':'local_api',
        'model':'deepseek-chat', # qwen-plus
        'topk':4
    }
    
    json_output = table_fill(json_input, llm_histories, info=info)
    print()